//index.js
import store from '../../store/index'
import { login } from '../../api/login'
import { getUserInfo, getUserContactWay } from '../../api/user'
import { hasKey, error, isUndefined } from '../../lib/js/utils'

// 创建页面
Page(
  store.createPage({
    data: {
      //初始摄影劵儿
      security: "0",
      //初始积分值
      integral: "0.00",
      // 是否登陆
      isLogin: false,
      // list 显示数据
      bottomList: [
        {
          leftImage: '/images/mine/collect.png',
          leftText: '收藏',
          rightText: '收集世界的美好',
          navigatePageUrl: '/pages/collection/collection'
        },
        {
          leftImage: '/images/mine/gift.png',
          leftText: '礼物',
          rightText: '惊喜就在这里'
        },
        {
          leftImage: '/images/mine/setting.png',
          leftText: '设置',
          rightText: '',
          navigatePageUrl: '/pages/setting/setting'
        },
        {
          leftImage: '/images/mine/connection.png',
          leftText: '联系方式',
          rightText: '',
          navigatePageUrl: '/pages/contact_way/contact_way'
        },
        {
          leftImage: '/images/mine/relation.png',
          leftText: '关于我们',
          rightText: '回忆流浪的地方',
          navigatePageUrl: '/pages/aboutus/aboutus'
        },
        {
          leftImage: '/images/mine/service.png',
          leftText: '客服',
          rightText: '希望木有客官往我这儿走'
        }
      ]
    },
    globalData: ['userInfo', 'token', 'contactWays'],

    // 登陆
    doLogin: function(e) {
      const that = this
      if (!hasKey(e.detail.rawData)) {
        error('请授权')
        return
      }
      // 授权成功
      wx.login({
        success: function(res) {
          if (res.code) {
            // code 传递给后端进行登陆
            login(res.code, e.detail.rawData, e.detail.signature).then(
              function(res) {
                // 请求成功设置 globalData token
                store.dispatch('token', res.data)
                that.setData({
                  isLogin: true
                })
                // 设置用户信息
                that.setUserInfo()
              },
              function(res) {
                console.log(res)
              }
            )
          } else {
            console.log(res.errMsg)
          }
        }
      })
    },
    // 设置用户信息
    setUserInfo: function() {
      const that = this
      if (that.data.isLogin == true) {
        // 设置用户基本信息
        getUserInfo().then(function(res) {
          store.dispatch('userInfo', res.data)
        })
        // 设置用户联系方式
        getUserContactWay().then(function(res) {
          store.dispatch('contactWays', res.data)
        })
      } else {
        error('请先登陆')
      }
    },

    /**
     * 点击下方列表跳转路由
     * @param {事件} eve
     */
    navigateListItem: function(e) {
      const that = this
      const index = e.currentTarget.dataset.index
      const navigatePageUrl = that.data.bottomList[index].navigatePageUrl
      // 跳转页面
      if (!isUndefined(navigatePageUrl)) {
        wx.navigateTo({
          url: navigatePageUrl
        })
      }
    },

    toProfile:function(){
      wx.navigateTo({
        url: '/pages/profile/profile',
      })
    },
    
    /**
     * 下拉刷新页面用户数据
     */
    onPullDownRefresh: function(){
      //console.log("正在刷新")
      if (this.data.isLogin) {
        this.setUserInfo()
      } else {
        error('请先登陆！')
      }
    }
  })
)
